/************************************
 文件明 ：  bsp_led.c
 作者   ：  胡秋峰
 描述   ：  LED驱动头文件
 ************************************/
#include "bsp_led.h"

/**
 * @描述    ： 初始化LED对应GPIO
 * @参数    ： 无
 * @返回值  ： 无 
 */
void led_init(void)
{
    IOMUXC_SetPinMux(IOMUXC_GPIO1_IO03_GPIO1_IO03, 0);/* IO 复用为GPIO1_IO03 */
    /*********************************** 
     *  2、配置GPIO1_IO03的IO属性 
     * bit 16:0 HYS关闭 
     * bit [15:14]: 00 默认下拉 
     * bit [13]: 0 kepper功能 
     * bit [12]: 1 pull/keeper使能 
     * bit [11]: 0 关闭开路输出 
     * bit [7:6]: 10 速度100Mhz 
     * bit [5:3]: 110 R0/6驱动能力 
     * bit [0]: 0 低转换率 
     * 0X10B0
     ***********************************/
    IOMUXC_SetPinConfig(IOMUXC_GPIO1_IO03_GPIO1_IO03, 0X10B0);
    
    GPIO1->GDIR |= (0X1 << 3);/* GPIO01_IO03 设置为输出 */
    GPIO1->DR &= ~(0X1 << 3);/* GPIO01_IO03 输出低电平->打开LED0 */

}

/**
 * @描述            ： 控制LED打开或者关闭
 * @参数 - led      ： 要控制的LED灯的编号
 * @参数 - status   ： 0->关闭LED，1->打开LED
 * @返回值  ： 无 
 */
void led_switch(int led, int status)
{
    switch (led)
    {
    case LED0:
        if (status == ON) {
            GPIO1->DR &= ~(1 << 3);
        } else if (status == OFF) {
            GPIO1->DR |= (1 << 3);
        }
        break;
    
    default:
        break;
    }
}